﻿using System.Collections.Generic;
using MJD.Comunes.Entidades;
using MJD.Transaccional.AccesoDatos.Fabricas;
using MJD.Transaccional.Comandos.Interfaces;

namespace MJD.Transaccional.Comandos.Implementacion.ComandosCiudad
{
    /// <summary>
    /// Comando que obtiene todas ciudades de un estado en especifico
    /// </summary>
    public class ObtenerPorEstado:IComando<IList<Ciudad>>
    {

        #region Atributos

        /// <summary>
        /// Datos del estado a consultar las ciudades
        /// </summary>
        private Estado _estado;

        #endregion

        #region Constructor

        /// <summary> Constructor de la clase </summary>
        /// <param name="estado"> Datos del estado a consultar las ciudades</param>
        public ObtenerPorEstado(Estado estado)
        {
            _estado = estado;
        }

        #endregion

        #region Implementacion
        
        /// <summary>
        /// Metodo que realiza la accion del comando
        /// </summary>
        /// <returns></returns>
        public IList<Ciudad> Ejecutar()
        {
            return FabricaDao.ObtenerManejador().ObtenerDaoCiudad().ConsultarPorEstado(_estado);
        }
        #endregion
    }
}
